/*
 * c_dato.h
 *
 *  Created on: 27 Apr 2010
 *      Author: osky
 */

#include "c_dato.h"
#include <stdio.h>
#include <string.h>
#include "constantes.h"



/* Constructor para clave entera, y dato cadena */
c_dato::c_dato(unsigned int d_clave, char* d_data )
   {
    clave=d_clave;
    data=d_data;

   }

/* Devuelve un entero, resultado de la funcion de hash a la clave */
unsigned int c_dato::algoritmo_para_hash()
     {
     unsigned int clave_invertida=invertir_bits(clave);
     #ifdef _DEBUG_
     printf ("Clave: %X, Clave invertida: %d %X(HEX)\n",clave,clave_invertida,clave_invertida);
     #endif
     return clave_invertida;
     }


/* Devuelve un puntero, con los datos serializados */
void* c_dato::serializar()
    {
    return (void*) data;
    }

/* Devuelve la cantidad de bytes  validos de la cadena apuntada */
unsigned int c_dato::largo()
   {
   return strlen(data)+1;
   }




